perm filename DATE75.REG[UP,DOC]1 blob sn#129729 filedate 1974-11-11 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Date75 advisory
C00005 ENDMK
CāŠ—;
Date75 advisory

January 4, 1975 is the last date representable in the old PDP-6 format
date field.  The following changes have been implemented to extend the
dates for an additional 77 years.

1. DATE UUO [CALLI 14]
	returns a 15 bit date, instead of 12 bits as previously documented.

2. Disk file dates
	LOOKUP, ENTER, and RENAME have been changed to use bits 18-20 of
	the second (extension) word of the argument block as the high bits
	of the creation date.  The low bits of the creation date are
	bits 24-35 of the third word.

3. Dectapes (PDP-6 format)
	LOOKUP, ENTER, and RENAME use bits 21-35 of word 3 instead of
	only bits 24-35.

4. Dectapes (PDP-10 format)
	The extra date bits are smeared in the extra bit of the slot words.
	The format is too horrible to explain here, see REG if you really
	want to know.  This affects only user programs since pdp-10 dectapes
	are not supported by the system.  Hopefully the affected programs
	(6TO10, 10TO6, TENDMP, and DMAN) will be converted in time.

Conversion of programs to DATE75.

The following rules should be followed:

	ENTER
	either zero both the right half of the second word and bits 12-35
	of the third word, or set both portions of the date (and the time)
	explicitly.  If you don't manage to do this right, you'll write
	files with incorrect dates. [Typical bugs cause all files to get
	the date January 5, 1975, or prevent any files from getting dates
	later than Jan 4, 1975].

	LOOKUP
	works as before, if you want to print the creation date of the file,
	you must get that date from two words returned by LOOKUP.

	RENAME
	to get the default date and time, zero fields of two words as in ENTER.
	Otherwise, set everything explicitly.